10 CALL CLEAR
20 CALL SCREEN(11)
30 PRINT "QUANTE NOTE ?               (da 5 a 50)": :
40 INPUT W
50 PRINT "": :
60 IF(W<5)+(W>50)THEN 30
70 CALL CLEAR
80 CALL SCREEN(2)
90 OPTION BASE 1
100 DIM A(50),M(6)
110 DEF G=INT(A(C)/26)
120 DEF H=INT(M(K-48)/26)
130 DEF S$=STR$(S)
140 DEF HS$=STR$(HS)
150 DEF R$=STR$(R)
160 DEF HR$=STR$(HR)
170 HS=0
180 HR=0
190 A$="AA55AA55AA55AA55"
200 FOR P=1 TO 6
210 READ M(P)
220 NEXT P
230 DATA 262,294,330,349,392,440
240 FOR T=111 TO 159 STEP 8
250 CALL CHAR(T,A$)
260 NEXT T
270 FOR T=3 TO 8
280 CALL COLOR(T,16,1)
290 NEXT T
300 FOR T=10 TO 16
310 CALL COLOR(T,T-2,T-2)
320 NEXT T
330 PRINT "SIMON TEXAS @ O_CONTENTI _86": : : : : : : : : : : : : : : : : : : :
340 CALL COLOR(2,1,1)
350 PRINT ".S=0.........L=0": :
360 PRINT ".HS=0........HL=0..NOTE=";W
370 FOR T=3 TO 10
380 CALL HCHAR(T,4,111,8)
390 CALL HCHAR(4,5,49)
400 CALL HCHAR(T,13,119,8)
410 CALL HCHAR(4,14,50)
420 CALL HCHAR(T,22,127,8)
430 CALL HCHAR(4,23,51)
440 CALL HCHAR(T+9,4,135,8)
450 CALL HCHAR(13,5,52)
460 CALL HCHAR(T+9,13,151,8)
470 CALL HCHAR(13,14,53)
480 CALL HCHAR(T+9,22,159,8)
490 CALL HCHAR(13,23,54)
500 NEXT T
510 R=1
520 S=0
530 TE=0
540 FOR C=1 TO W
550 RANDOMIZE
560 ON INT(6*RND+1)GOTO 570,590,610,630,650,670
570 A(C)=262
580 GOTO 680
590 A(C)=294
600 GOTO 680
610 A(C)=330
620 GOTO 680
630 A(C)=349
640 GOTO 680
650 A(C)=392
660 GOTO 680
670 A(C)=440
680 IF V=0 THEN 700
690 CALL SOUND(-100,A(C),5,A(C)*2,5,A(C)*3,5)
700 NEXT C
710 IF V=0 THEN 750
720 V=0
730 FOR Z=1 TO 1000
740 NEXT Z
750 FOR C=1 TO R
760 CALL COLOR(G,G-2,2)
770 CALL SOUND(-100,A(C),5)
780 CALL COLOR(G,G-2,G/2)
790 NEXT C
800 REM  RISPOSTA MUSICALE 
810 FOR Q=1 TO R
820 CALL KEY(0,K,S)
830 TE=TE+1
840 IF TE=R*100 THEN 1070
850 IF(S=0)+(K<49)+(K>54)THEN 820
860 CALL COLOR(H,H-2,2)
870 CALL SOUND(-100,M(K-48),5)
880 CALL COLOR(H,H-2,H-2)
890 IF A(Q)<>M(K-48)THEN 1070
900 NEXT Q
910 S=(R*200+S)-TE
920 FOR Z=1 TO LEN(S$)
930 CALL HCHAR(21,5+Z,ASC(SEG$(S$,Z,1)))
940 NEXT Z
950 FOR Z=1 TO LEN(R$)
960 CALL HCHAR(21,17+Z,ASC(SEG$(R$,Z,1)))
970 NEXT Z
980 R=R+1
990 IF R>W THEN 1040
1000 FOR Z=1 TO 200
1010 NEXT Z
1020 GOTO 750
1030 REM  LIMITE NOTE  
1040 V=1
1050 GOTO 1080
1060 REM  ERRORE 
1070 CALL SOUND(100,-1,0)
1080 IF S>HS THEN 1090 ELSE 1130
1090 HS=S
1100 FOR Z=1 TO LEN(HS$)
1110 CALL HCHAR(23,6+Z,ASC(SEG$(HS$,Z,1)))
1120 NEXT Z
1130 IF R>HR THEN 1140 ELSE 1180
1140 HR=R-1
1150 FOR Z=1 TO LEN(HR$)
1160 CALL HCHAR(23,18+Z,ASC(SEG$(HR$,Z,1)))
1170 NEXT Z
1180 CALL HCHAR(21,6,32,10)
1190 CALL HCHAR(21,18,32,2)
1200 CALL HCHAR(21,6,48)
1210 CALL HCHAR(21,18,48)
1220 GOTO 510
